package pl.streamsoft.currencyApp.services;

import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;

import pl.streamsoft.currencyApp.model.Currency;

public interface ICurrencyService {
	
		
	public Currency getCurrencyByCode(Date dateOfPublication, String codeName);
	public Collection<Currency> getCurrencies(Date fromDate, Date toDate);
	public Collection<Currency> getCurrenciesByKeyWord(Date dateOfPublication, String keyWord);
	public void update(Currency currency);
	
	public Collection<Currency> getCurrencies(Date dateOfPublication);
	public Currency getCurrencyByName(Date dateOfPublication, String name);
	
	public Collection<Currency> getCurrenciesByValue(Date dateOfPublication, BigDecimal minValue);
	public Collection<Currency> getCurrenciesByValue(Date dateOfPublication, BigDecimal minValue, BigDecimal maxValue);
	
	public Collection<Currency> getLatestCurrencies();
	public void addCurrency(Currency currency);
	public void addCurrency(Collection<Currency> currencies);
	public void remove(Currency currency);
}
